package com.ys.tdm.service.code;

import java.util.List;

import com.ys.tdm.bean.code.DataBase;
import com.ys.tdm.util.PagerModel;
import com.ys.tdm.util.Query;




/**
 * 数据库链接信息Service接口
 * @author hhj
 * @date 2018-03-07 10:13:57
 */
public interface IDataBaseService {

	/**
	 * 通过id得到数据库链接信息DataBase
	 * @param id
	 * @return 
	 * @throws Exception
	 * @Description:
	 */
	public DataBase getDataBaseById(String id) throws Exception;

	/**
	 * 通过ids批量得到数据库链接信息DataBase
	 * @param ids 如："'1','2','3','4'..."
	 * @return 
	 * @throws Exception
	 * @Description:
	 */
	public List<DataBase> getDataBaseByIds(String ids) throws Exception;
	
	/**
	 * 通过ids批量得到数据库链接信息DataBase
	 * @param ids 
	 * @return 
	 * @throws Exception
	 * @Description:
	 */
	public List<DataBase> getDataBaseByIdsList(List<String> ids) throws Exception;

	/**
	 * 得到所有数据库链接信息DataBase
	 * @param dataBase
	 * @return 
	 * @throws Exception
	 * @Description:
	 */
	public List<DataBase> getAll(DataBase dataBase) throws Exception;

	/**
	 * 获取数据库中所有的表
	 * @author Troy  
	 * @date 2018年3月7日 下午1:42:40 
	 * @return
	 * @throws Exception
	 */
	public List<String> getAllDataBase()throws Exception;
	
	/**
	 * 分页查询数据库链接信息DataBase
	 * @param dataBase
	 * @param query
	 * @return
	 * @throws Exception
	 * @Description:
	 */
	//public PagerModel<DataBase> getPagerModelByQuery(DataBase dataBase, Query query) throws Exception;

	/**
	 * 查询记录数
	 * @param dataBase
	 * @return
	 * @throws Exception
	 * @Description:
	 */
	public int getByPageCount(DataBase dataBase)throws Exception ;
	
	/**
	 * 添加数据库链接信息DataBase
	 * @param dataBase
	 * @throws Exception
	 * @Description:
	 */
	public void insertDataBase(DataBase dataBase) throws Exception;
	
	/**
	 * 批量添加数据库链接信息DataBase
	 * @param dataBases
	 * @throws Exception
	 * @Description:
	 */
	public void insertDataBaseBatch(List<DataBase> dataBases) throws Exception;

	/**
	 * 通过id删除数据库链接信息DataBase
	 * @param id
	 * @throws Exception
	 * @Description:
	 */
	public void delDataBaseById(String id) throws Exception;

	/**
	 * 通过id批量删除数据库链接信息DataBase
	 * @param ids 如："'1','2','3','4'..."
	 * @throws Exception
	 * @Description:
	 */
	public void delDataBaseByIds(String ids) throws Exception;
	
	/**
	 * 通过id批量删除数据库链接信息DataBase
	 * @param ids 
	 * @throws Exception
	 * @Description:
	 */
	public void delDataBaseByIdsList(List<String> ids) throws Exception;

	/**
	 * 通过id修改数据库链接信息DataBase
	 * @param dataBase
	 * @throws Exception
	 * @Description:
	 */
	public int updateDataBase(DataBase dataBase) throws Exception;
	
	/**
	 * 通过ids批量修改数据库链接信息DataBase
	 * @param ids 如："'1','2','3','4'..."
	 * @param dataBase
	 * @throws Exception
	 * @Description:
	 */
	public int updateDataBaseByIds(String ids,DataBase dataBase) throws Exception;
	
	/**
	 * 通过ids批量修改数据库链接信息DataBase
	 * @param ids 
	 * @param dataBase
	 * @throws Exception
	 * @Description:
	 */
	public int updateDataBaseByIdsList(List<String> ids,DataBase dataBase) throws Exception;
	
	/**
	 * 通过id批量修改数据库链接信息DataBase
	 * @param dataBases
	 * @throws Exception
	 * @Description:
	 */
	public int updateDataBaseList(List<DataBase> dataBases) throws Exception;
	
	//------------api------------
}
